package org.lanqiao.tjut.controller;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.lanqiao.tjut.bean.StudentBean;
import org.lanqiao.tjut.bean.TBAdminBean;
import org.lanqiao.tjut.model.ModelFactory;
import org.lanqiao.tjut.myUtils.MyUtils;

//@WebServlet(name="UserLoginServlet",urlPatterns={"/UserLoginServlet"})
@WebServlet("/UserLoginServlet")
public class UserLoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 进行客户端请求处理
		System.out.println("这是采用web.xml配置的servlet对客户端request请求的处理。。。。");
		// 使用request对象的getParameter方法可以获取客户端使用http的request请求提交给服务器的的form表单的数据内容
		// 必须使用 控件的name属性获取
		// 获取姓名
		String strName = request.getParameter("txtUserName");
		// 获取密码
		String strPsw = request.getParameter("txtUserPsw");
		System.out.println("获取的客户端发送的用户名：" + strName);
		System.out.println("获取的客户端发送的密码：" + strPsw);
		//获取登录用户类型
		String strUser = request.getParameter("user");
		if(strUser.equals("1")){

		// 使用实体类进行传参
		TBAdminBean adminB = MyUtils.getNewInstance(TBAdminBean.class);
		// 将前台页面传入值，赋值给实体变量
		adminB.setAdmins_name(strName);
		adminB.setAdmins_psw(strPsw);
		// 调用model层进行登录验证的业务逻辑处理
		// 获取登录用户信息
		List<TBAdminBean> lstAdmins = ModelFactory.getUserLoginModelInstance().getUserLoginInfo(adminB);
		// 跳转到登录成功的页面,页面跳转之后的代码不会再被执行
		// 判定是否登录成功
		if (lstAdmins != null && lstAdmins.size() > 0) {
			// 登录成功
			// 将用户登录成功信息缓存到session对象中
			request.getSession().setAttribute("loginedAdminB", lstAdmins.get(0));
			// 使用转发进行跳转
			request.getRequestDispatcher("WEB-INF/logined/logined.jsp").forward(request, response);
			// 使用重定向进行跳转
			// response.sendRedirect("WEB-INF/logined/logined.jsp");
			// 登录失败
						
		}else{
			response.sendRedirect("login.jsp");
		}
		
		}else if(strUser.equals("2")){
			//使用实体类进行传参
			StudentBean stuB = MyUtils.getNewInstance(StudentBean.class);
			//将前台页面值传入 赋值给实体变量
			stuB.setStu_name(strName);
			stuB.setStu_psw(strPsw);
			//调用model层进行登录验证的业务逻辑处理
			//获取用户登录信息
			List<StudentBean> lstStus = ModelFactory.getUserLoginModelInstance().getStuLoginInfo(stuB);
			//跳转到登录成功的页面，页面跳转之后的代码不会再被执行
			//判断是否登录成功
			if(lstStus !=null && lstStus.size()>0){
				//登录成功
				//将用户登录成功的信息缓存到session中
				request.getSession().setAttribute("loginStuB",lstStus.get(0) );
				//使用转发进行跳转
				request.getRequestDispatcher("WEB-INF/logined/stuLogined.jsp").forward(request, response);
			}else{
				// 登录失败
				response.sendRedirect("login.jsp");
		}
	}
	}	
}

